//
//  Contact.h
//  cliqset
//
//  Created by David Hinson on 2/10/09.
//  Copyright 2009 Sumner Systems Management, Inc.. All rights reserved.
//

#import <Foundation/Foundation.h>

// Contacts
@interface Contact : NSObject {

@private    
	NSMutableString *_contactIdentifier;
	NSMutableString *_givenName;
	NSMutableString *_middleName;
	NSMutableString *_familyName;
	NSMutableString *_notes;
	NSMutableString *_company;
	NSMutableString *_position;
	NSMutableString *_photoURL;
	NSMutableData   *_photoBlob;
	NSMutableString *_lastUpdate;
	
	NSMutableArray  *_tags;
	NSMutableArray  *_emailAddresses;
	NSMutableArray  *_addresses;
	NSMutableArray  *_imScreenNames;
	NSMutableArray  *_phones;
	NSMutableArray  *_urls;	
}

@property (nonatomic, retain) NSMutableString *contactIdentifier;
@property (nonatomic, retain) NSMutableString *givenName;
@property (nonatomic, retain) NSMutableString *middleName;
@property (nonatomic, retain) NSMutableString *familyName;
@property (nonatomic, retain) NSMutableString *notes;
@property (nonatomic, retain) NSMutableString *company;
@property (nonatomic, retain) NSMutableString *position;
@property (nonatomic, retain) NSMutableString *photoURL;
@property (nonatomic, retain) NSMutableData   *photoBlob;
@property (nonatomic, retain) NSMutableString *lastUpdate;

@property (nonatomic, retain) NSMutableArray *tags;
@property (nonatomic, retain) NSMutableArray *emailAddresses;
@property (nonatomic, retain) NSMutableArray *addresses;
@property (nonatomic, retain) NSMutableArray *imScreenNames;
@property (nonatomic, retain) NSMutableArray *phones;
@property (nonatomic, retain) NSMutableArray *urls;

-(id)init;
-(void)dealloc;

@end

// Tags
@interface Tag : NSObject {

@private
	NSMutableString *_tag;
}

@property (nonatomic, retain) NSMutableString *tag;

-(id)init;
-(void)dealloc;

@end

// Email addresses
@interface	EmailAddress : NSObject
{
@private	
	NSMutableString *_type;
	NSMutableString *_address;
	BOOL _primary;
}

@property (nonatomic, retain) NSMutableString *type;
@property (nonatomic, retain) NSMutableString *address;
@property BOOL primary;

-(id)init;
-(void)dealloc;

@end

// IMs
@interface IM : NSObject
{
@private	
	NSMutableString *_network;
	NSMutableString *_name;
	BOOL _primary;
}

@property (nonatomic, retain) NSMutableString *network;
@property (nonatomic, retain) NSMutableString *name;
@property BOOL primary;

-(id)init;
-(void)dealloc;

@end

// Phones
@interface Phone : NSObject
{
@private	
	NSMutableString *_type;
	NSMutableString *_phoneNumber;
	BOOL _primary;
}

@property (nonatomic, retain) NSMutableString *type;
@property (nonatomic, retain) NSMutableString *phoneNumber;
@property BOOL primary;

-(id)init;
-(void)dealloc;

@end

// Addresses
@interface Address : NSObject
{
@private	
	NSMutableString *_type;
	BOOL _primary;
	NSMutableString *_streetAddress;
	NSMutableString *_locality;
	NSMutableString *_region;
	NSMutableString *_country;
	NSMutableString *_postalCode;
}

@property (nonatomic, retain) NSMutableString *type;
@property BOOL primary;
@property (nonatomic, retain) NSMutableString *streetAddress;
@property (nonatomic, retain) NSMutableString *locality;
@property (nonatomic, retain) NSMutableString *region;
@property (nonatomic, retain) NSMutableString *country;
@property (nonatomic, retain) NSMutableString *postalCode;

-(id)init;
-(void)dealloc;

@end

// URLs
@interface URL : NSObject
{
@private	
	NSMutableString *_type;
	NSMutableString *_url;
	BOOL _primary;
}

@property (nonatomic, retain) NSMutableString *type;
@property (nonatomic, retain) NSMutableString *url;
@property BOOL primary;

-(id)init;
-(void)dealloc;

@end



